import resolve from '@rollup/plugin-node-resolve';
import resolveCommonjs from '@rollup/plugin-commonjs';
import { terser } from 'rollup-plugin-terser';

/**
 * @type { import('rollup').RollupOptions }
 */
const option = {
  input: ['src/index.js', 'src/util.js'],
  output: [
    {
      format: 'esm',
      dir: 'dist/es',
      entryFileNames: '[name].js',
      chunkFileNames: 'chunk-[name].js',
      sourcemap: true,
      assetFileNames: 'assets/[name]-[hash][extname]',
      // 压缩代码
      plugins: [terser()],
    },
    {
      format: 'commonjs',
      dir: 'dist/cjs',
    },
  ],
  // 解析第三方包；识别 commonjs 格式的模块
  plugins: [resolve(), resolveCommonjs()],
};

/**
 * @type { import('rollup').RollupOptions }
 */
// const option = {
//   input: ['src/index.js'],
//   output: [
//     {
//       format: 'iife',
//       dir: 'dist/iife',
//       name: 'MyBundle',
//       globals: {
//         vue: 'Vue',
//       },
//     },
//   ],
//   external: ['vue'],
// };

export default option;

// ------------------------------------------------------------------------------

/**
 * @type { import('rollup').RollupOptions }
 */
// const option1 = {
//   input: 'src/index.js',
//   output: [
//     {
//       format: 'esm',
//       dir: 'dist/es',
//       entryFileNames: '[name].js',
//       chunkFileNames: 'chunk-[name].js',
//       sourcemap: true,
//       assetFileNames: 'assets/[name]-[hash][extname]',
//     },
//   ],
// };

/**
 * @type { import('rollup').RollupOptions }
 */
// const option2 = {
//   input: 'src/util.js',
//   output: [
//     {
//       format: 'commonjs',
//       dir: 'dist/cjs',
//     },
//   ],
// };

// export default [option1, option2];
